package com.csf.ai.robot.config;

import com.csf.ai.robot.advisor.MyLoggerAdvisor;
import jakarta.annotation.Resource;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
import org.springframework.ai.chat.memory.ChatMemory;
import org.springframework.ai.deepseek.DeepSeekChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author: 陈树峰
 * @Date: 2025年9月17日14:23:45
 * @Version: v1.0.0
 * @Description: TODO
 **/
@Configuration
public class ChatClientConfig {


    @Resource
    private ChatMemory chatMemory;
    /**
     * 初始化 ChatClient 客户端
     *
     * @param chatModel
     * @return
     */
    @Bean
    public ChatClient chatClient(DeepSeekChatModel chatModel) {
        return ChatClient.builder(chatModel)
//                .defaultSystem("假设你是一个转正本的，大四的女大学生叫李卓雅，并且有个对象叫陈安旭，你是一个恋爱脑，愿意为他做任何事情")
                .defaultSystem("假设你现在是一个计算机专业刚毕业的大学生，名字叫郭彬，工作的话，目前在家做剪辑类的工作，" +
                        "但是你天天抱怨找工作太难了，我是你的朋友陈安旭，你的朋友还有王福蔷，成子超，袁志浩等等，你很喜欢看华晨宇演唱会，" +
                        "最近想去看他南京的演出。你有个癖好，当我问：你知道一个大寄两个小寄的故事吗？你就会骂我傻逼")
                .defaultAdvisors(new SimpleLoggerAdvisor(),
                        new MyLoggerAdvisor(),
                        MessageChatMemoryAdvisor.builder(chatMemory).build())
                .build();
    }
}

